import request from '@/utils/request';

/**
 * 获取支付页订单概要
 * GET /api/pay/order/{orderSn}
 * @param {string} orderSn
 */
export function getOrderInfo(orderSn) {
  return request.get(`/api/pay/order/${orderSn}`);
}

/**
 * 发起余额支付
 * POST /api/pay/balance
 * @param {Object} data
 *   { orderSn, password, deliveryType, receiverAddr }
 */
export function payWithBalance(data) {
  return request.post('/api/pay/balance', data);
}

/**
 * 发起支付宝支付（返回 HTML 表单）
 * POST /api/pay/alipay
 * @param {Object} data
 *   { orderSn, deliveryType, receiverAddr }
 * @returns {Promise<String>} HTML string
 */
export function initiateAlipay(data) {
  return request.post(
    '/api/pay/alipay',
    data,
    { responseType: 'text' }
  );
}

/** 钱包充值：返回支付宝页面的 HTML 字符串 */
export const rechargeWalletService = (amount) => {
  return request.post(
    '/api/pay/recharge',
    { amount },
    { responseType: 'text' }   // 后端返回纯 HTML
  )
}


export function addOrderApi(data) {
  return request.post('/api/order-main/add', data);
}

/**
 * 会员支付（升级和续费统一接口）- 创建订单并发起支付
 * POST /api/pay/memberPay
 * @param {Object} data - MemberPayDTO格式
 *   { level: Integer, amount: Number, months: Integer }  // 新增months字段
 *   level: 目标会员等级 1-5
 *   amount: 支付金额
 *   months: 购买月数 1-12  // 新增
 * @returns {Promise<String>} 返回支付宝支付表单HTML
 */
export function createMemberOrderAndPay(data) {
  console.log('=== 会员支付接口调用 ===');
  console.log('发送的JSON数据:', JSON.stringify(data, null, 2));
  console.log('数据类型检查:');
  Object.keys(data).forEach(key => {
    console.log(`${key}: ${data[key]} (${typeof data[key]})`);
  });
  
  return request.post(
    '/api/pay/memberPay',
    data,
    { responseType: 'text' }
  );
}
